import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)

/**
 * Write a description of class Bala here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class Disparo extends Actor
{
    
    private int existe;
    private Actor colicionTronco;
    private Actor colicionCarro;
    private Actor colicionPoli;
    private Actor colicionPoli1;
    int disp=0;
     /**
     * Act - do whatever the Bala wants to do. This method is called whenever
     * the 'Act' or 'Run' button gets pressed in the environment.
     */
    
    public void act() 
    {
       move(10);
       efecto();
       checa(disp);

    }   
    
   /**
    * metodo en el que se realiza la creacion del objeto turbe
    */
     private void efecto()
   {
      getWorld().addObject(new Turbe(),getX()-25,getY());
      
   }
   
 
   /**
    * metodo en el que se checa si hay interceccion con un objeto tronco y si  lo hay destruye el objeto tronco 
    * ademas tambien checa si llego al limite del mundo para poder ser eliminado
    */
   public void checa(int disp)
   {
       int x=super.getX();
     World mundo=super.getWorld();
     int ancho=mundo.getWidth();
     colicionTronco = getOneIntersectingObject(Tronco.class);
     colicionCarro = getOneIntersectingObject(CarroObs.class);
     colicionPoli = getOneIntersectingObject(Poli.class);
     colicionPoli1 = getOneIntersectingObject(PoliArm.class);
        if (colicionTronco != null)
        {
            ((Tronco)colicionTronco).explota();
            Greenfoot.playSound("explosion.mp3");
            setLocation(getX()-50,getY());
            mundo.removeObject(this);
        }
        else{
        
            if(x>=ancho-1)
            mundo.removeObject(this);
     
            if(x<=1)
            {
                mundo.removeObject(this);  
            }   
   
        }
        
        if (colicionCarro != null)
        {
          ((CarroObs)colicionCarro).explota1();
          Greenfoot.playSound("explosion.mp3");
           setLocation(getX()-50,getY());
           mundo.removeObject(this);
        }
        else{
        
             if(x>=ancho-1)
             mundo.removeObject(this);
     
              if(x<=1)
              {
                 mundo.removeObject(this);  
              }
        }
    
        if (colicionPoli != null)
        {
            
                  //  ((Poli)colicionPoli).explota();
                    Greenfoot.playSound("explosion.mp3");
                    mundo.removeObject(this);
          // setLocation(getX()-50,getY());
        }
        else{
        
             if(x>=ancho-1)
                  mundo.removeObject(this);
     
            if(x<=1)
            {
                mundo.removeObject(this);  
            }   
        }
        if (colicionPoli1 != null)
        {
          ((PoliArm)colicionPoli1).explota();
           Greenfoot.playSound("explosion.mp3");
           mundo.removeObject(this);
           //setLocation(getX()-50,getY());
           
        }
        else{
        
         if(x>=ancho-1)
            mundo.removeObject(this);
     
         if(x<=1)
          {
           mundo.removeObject(this);  
          }   
   
        }
    }
 
}
